package main

import (
	"bytes"
	"compress/gzip"
	"fmt"
	"io"
	"strings"
)

func bindata_read(data []byte, name string) ([]byte, error) {
	gz, err := gzip.NewReader(bytes.NewBuffer(data))
	if err != nil {
		return nil, fmt.Errorf("Read %q: %v", name, err)
	}

	var buf bytes.Buffer
	_, err = io.Copy(&buf, gz)
	gz.Close()

	if err != nil {
		return nil, fmt.Errorf("Read %q: %v", name, err)
	}

	return buf.Bytes(), nil
}

var _etc_user_api_yaml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x54\x8e\x4d\x4b\xc3\x40\x10\x86\xef\x81\xfc\x87\x01\xb1\xe8\x21\x3a\xd9\x7e\xa5\x0b\xc5\x8a\xe8\x59\xac\xf7\x32\xd9\x4c\x4d\x30\xc9\xae\x3b\x13\xb4\xff\x5e\x92\x0a\x45\xe6\xf4\xce\xcb\x3c\xf3\xf4\xd4\xf1\x81\x2c\x0c\xc2\x31\xa3\xd0\xa4\xc9\x15\x44\x16\x7d\xf2\xfd\xd1\x8e\x01\xa0\xf6\xa2\x16\xf0\x6e\x9a\xf3\x2a\xf8\xa8\x16\x8a\xa2\x28\xd2\xa4\x3b\xc9\x57\x6b\xd3\x04\xa0\x22\xa5\x83\xf8\x21\x3a\xb6\x10\xbd\x57\xfb\x4a\x22\xdf\x3e\x56\x3b\x83\x06\x77\xea\xc2\x4d\xeb\x1d\xb5\x13\x71\x3e\xc7\xd5\xed\x7d\xe9\xfd\xe7\x83\xab\x29\x0a\xeb\x76\xd0\x63\xd1\x95\x8b\x59\x18\xe3\x7b\xd3\xf1\x56\xe3\xc0\xb3\xd6\xbb\xed\xa3\x34\x74\x6d\x5e\xf6\x35\xf5\x1f\x35\x35\x69\xe2\xc8\xd5\xfc\xc6\x55\x23\xd3\xef\xec\x4f\xf3\xc2\x5f\xcd\xd7\x9b\xb1\x01\x08\x24\x62\xe1\x9f\xcb\xb9\xd0\x53\x60\x0b\xbd\xaf\x38\x4d\x68\xd0\x7a\x22\x91\x73\x2c\xb2\x67\x17\x59\x2d\x2c\x96\x68\x36\x1b\xc6\xac\x5c\xf3\x32\xcb\x73\x2e\xb3\x92\x30\xcf\xd0\x2c\x0c\xb9\x3c\x47\x44\x73\xb9\x7a\xfe\x09\x4d\x64\x0b\x2b\xc4\xdf\x00\x00\x00\xff\xff\x5e\x00\x4d\x57\x59\x01\x00\x00")

func etc_user_api_yaml() ([]byte, error) {
	return bindata_read(
		_etc_user_api_yaml,
		"etc/user-api.yaml",
	)
}

// Asset loads and returns the asset for the given name.
// It returns an error if the asset could not be found or
// could not be loaded.
func Asset(name string) ([]byte, error) {
	cannonicalName := strings.Replace(name, "\\", "/", -1)
	if f, ok := _bindata[cannonicalName]; ok {
		return f()
	}
	return nil, fmt.Errorf("Asset %s not found", name)
}

// AssetNames returns the names of the assets.
func AssetNames() []string {
	names := make([]string, 0, len(_bindata))
	for name := range _bindata {
		names = append(names, name)
	}
	return names
}

// _bindata is a table, holding each asset generator, mapped to its name.
var _bindata = map[string]func() ([]byte, error){
	"etc/user-api.yaml": etc_user_api_yaml,
}
// AssetDir returns the file names below a certain
// directory embedded in the file by go-bindata.
// For example if you run go-bindata on data/... and data contains the
// following hierarchy:
//     data/
//       foo.txt
//       img/
//         a.png
//         b.png
// then AssetDir("data") would return []string{"foo.txt", "img"}
// AssetDir("data/img") would return []string{"a.png", "b.png"}
// AssetDir("foo.txt") and AssetDir("notexist") would return an error
// AssetDir("") will return []string{"data"}.
func AssetDir(name string) ([]string, error) {
	node := _bintree
	if len(name) != 0 {
		cannonicalName := strings.Replace(name, "\\", "/", -1)
		pathList := strings.Split(cannonicalName, "/")
		for _, p := range pathList {
			node = node.Children[p]
			if node == nil {
				return nil, fmt.Errorf("Asset %s not found", name)
			}
		}
	}
	if node.Func != nil {
		return nil, fmt.Errorf("Asset %s not found", name)
	}
	rv := make([]string, 0, len(node.Children))
	for name := range node.Children {
		rv = append(rv, name)
	}
	return rv, nil
}

type _bintree_t struct {
	Func func() ([]byte, error)
	Children map[string]*_bintree_t
}
var _bintree = &_bintree_t{nil, map[string]*_bintree_t{
	"etc/user-api.yaml": &_bintree_t{etc_user_api_yaml, map[string]*_bintree_t{
	}},
}}
